 boot = boot or {};
 
 --加密key
 boot.passwordkey = '__USERAd00Jk9uC6T6q202CQA0VW__'; 
 boot.me = {};
 
--[[
- @desc   设置密码cookie
- @param  string parsswd 待加密的字符串  如 2-abcdelg
- return  boole
--]]
function boot.set_password(parsswd)
      if not parsswd then
         return false;
      end
     
      local aes =  vendor("aes");  --加载aes扩展库
      local en  =  aes.encrypted(parsswd, boot.passwordkey);
      
      local base64 =  vendor("base64");  --加载base64扩展库
      local res = base64.encode(en); 
      cookie.set('__MG', res, 3600*24);
      return res;
end


--[[
- @desc   获取密码
- @param  nil
- return  string   如 2-abcdelg
--]]
function boot.get_password()
      local res = cookie.get('__MG');
      if res then 
	      local base64 = vendor("base64");  --加载base64扩展库
	      local res = base64.decode(res); 
	       
	      local aes =  vendor("aes");  --加载aes扩展库
	      local pw = aes.decrypted(res, boot.passwordkey);  
	      return split(pw, '-');
	  else
	      return nil;    
      end 
end
 
 
--[[
- @desc   删除密码
- @param  nil 
- return  bool  
--]]
function boot.logout()
     return  cookie.set('__MG', "", -3600);
end
 
 
--[[
- @desc   调用控制器之前自动执行
- @param  nil
- return  boole
--]]
function boot.init()
     if (_BASE["controller"] ~= "login") and (_BASE["controller"] ~= "index") then 
        -- local islogin = boot.get_password();  
         local islogin = nil;
         
         if  islogin then 
               local m = model.__get("user");  --模型调用 
               local userInfo = m:getone(islogin[1], islogin[2]); --验证
               boot.me = userInfo; 
         else
		       -- dump('cookie没有找到');  
		       -- ngx.redirect('/login/index', ngx.HTTP_MOVED_TEMPORARILY);
		       -- return ;
         end
          
         if not userInfo then
            --  dump('这个cookie不是我分配出去的'); 
            --  return  ngx.redirect('/login/index', ngx.HTTP_MOVED_TEMPORARILY)	
         end 
         
     end 
     
     return true;
end

return boot;